Skip to content

Feature/heading inspector - #493

Open
RA11y1 wants to merge 18 commits into
mainfrom
feature/heading-inspector
Open

Feature/heading inspector#493
RA11y1 wants to merge 18 commits into
mainfrom
feature/heading-inspector

Conversation

@RA11y1

@RA11y1 RA11y1 commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

PR adds a new page for a chrome extension that more reliably outlines the heading structure of a page.

The page gives a short introduction and lists its features. Additionally, a note was added on the pages for the headingmap extension and the h123 bookmarklet, referencing the heading inspector as a more reliable alternative.

RA11y1 added 15 commits June 30, 2026 17:40
how in the world do me create a folder via github web...
added skeleton for the extension page
testing link behavior in markdown
fixed wrong link formatting
text draft
trying to add an image
added a screenshot of the heading outline panel
…_media/test.png

delete test image which I used to create the media folder via github web
added screenshot of the heading outline panel
moved image
added note to the headingsmap extension for a more reliable alternative on Chrome
added note for a more reliable alternative on Chrome
@netlify

netlify Bot commented Jul 1, 2026

Copy link
Copy Markdown

Deploy Preview for accessibility-developer-guide ready!

Name Link
🔨 Latest commit 8b0d7d2
🔍 Latest deploy log https://app.netlify.com/projects/accessibility-developer-guide/deploys/6a70637dc04bbe00081dbcab
😎 Deploy Preview https://deploy-preview-493--accessibility-developer-guide.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.


**This bookmarklet provides an efficient way to display the current webpage's heading outline, very close to how screen readers do. In addition, it has some pretty useful features like displaying potentially incorrectly hidden headings.**

This bookmarklet outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: I would drop the In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. as the bookmarklet should actually handle shadow DOM just fine: hinderlingvolkart/h123#5

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@backflip: I don’t think the problem is necessarily related to the Shadow DOM (this seems to work both with h123 as well as with HeadingsMap and heading-inspector).

The only difference I noticed is that h123, unlike the other two, ignores the aria-level attribute.

@backflip backflip Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From our meeting: The difference is that the bookmarklet does not pick up elements with a role of heading set via JavaScript.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the other hand, as discovered by @christophdubach: The bookmarklet can optionally list hidden headings.

Comment thread pages/setup/helper-tools/browser-extensions/heading-inspector/README.md Outdated

**HeadingsMap generates an index of any web document structured with headings and sections. It shows the headings structure, the errors in the structure (ie. incorrect levels), and it works as HTML5 Outliner too.**

This extension outlines headings and sections based on a pages DOM. In certain scenarios headings might be missed or misinterpreted, for example when dealing with shadow DOMs. For a more reliable tool check out the heading inspector extension for Chrome: [Heading Inspector](https://www.accessibility-developer-guide.com/setup/helper-tools/browser-extensions/heading-inspector/)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@backflip

backflip commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

This is awesome, very cool approach!

/cc @eins78

@christophdubach

Copy link
Copy Markdown
Collaborator

@RA11y1, @backflip: Ich frage mich, ob wir sowohl h123 wie auch heading-inspector erwähnen sollen, oder uns eher für eine der beiden entscheiden sollten, da sie ziemlich ähnlich aussehen und funktionieren.

Andererseits haben beide ihre Vor- und Nachteile:

  • Bei h123 kann man sich Visually-Hidden-Headings anzeigen lassen.
  • Beim heading-inspector wird dafür aria-level berücksichtigt, welches h123 leider ignoriert (HeadingsMap berücksichtigt aria-level ebenfalls).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if it’s technically allowed, it might not be ideal that this screenshot shows three <h1> elements, as this could confuse people.

@rudigier

rudigier commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator
Screenshot 2026-07-02 at 10 37 10

h123 - Release v1.2.0

  • Improved heading level detection (aria-level overrides tag name)
  • Web component headings supported (e.g. )
  • Skipped levels are visually distinct: red round level badges (instead of square)

@backflip

backflip commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

h123 - Release v1.2.0

  • Improved heading level detection (aria-level overrides tag name)
  • Web component headings supported (e.g. )
  • Skipped levels are visually distinct: red round level badges (instead of square)

@rudigier, FWIW: This will only work with the very specific SBB-implementation: hinderlingvolkart/h123@e5951b8#diff-37b4fddc8e59579d297e97cc83b70560b61fd3eec047bac19e56472cc2e14e2bR158

A custom element with a heading role neither requires title|heading to be part of the name nor a level attribute.

RA11y1 added 3 commits August 3, 2026 11:25
differences are less significant as previously thought
removed section referring to the headings inspector, since differences are less significant as previously thought
rewrote the intro text. No reference to h123 anymore, no need to tell as it seems kinda obvious. Mentioned the edge case for javascript set heading roles for a specific case where this extension adds value
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants